#include "process.h"
#include <string.h> 
#include <unistd.h>

#define NUM 101
#define STYLE '='

//version2
void FlushProcess(double total,double current)
{
  char buffer[NUM];
  memset(buffer,0,sizeof(buffer));
  const char *lable = "|/-\\";
  int len = strlen(lable);

  static int cnt = 0;

  //不需要自己循环
  int num = (int)(current*100 / total);
  int i = 0;
  for(;i<num;i++)
  {
    buffer[i] = STYLE;    
  }
  double rate = current / total;
  cnt %= len;
  printf("[%-100s][%.2lf%%][%c]\r",buffer,rate*100,lable[cnt]);
  cnt++;
  fflush(stdout);
}


//无法使用
void process_v1()
{
  char buffer[NUM];
  memset(buffer,0,sizeof(buffer));
  const char *lable = "|/-\\";
  int len = strlen(lable);
  int cnt = 0;
    while(cnt <= 100)
    {
        printf("[%-100s][%d%%][%c]\r", buffer, cnt, lable[cnt%len]);
        fflush(stdout);
        buffer[cnt]= STYLE;
        cnt++;
        usleep(50000);
    }
    printf("\n");
}
